package com.berchen.busidb.dao;

import com.berchen.common.busidb.model.*;

import java.util.List;

public interface BusidbMapper {

    /**
     * 批量插入账务数据
     * @param bills
     */
    void batchAddBill(List<BillVo> bills);

    /**
     * 查询多个账务数据
     * @param vo
     * @return
     */
    List<BillVo> getBills(BillVo vo);

    /**
     * 查询账户对应余额
     * @return
     */
    List<BillVo> getBalance();

    /**
     * 更新用户对应余额
     * @param billVos
     */
    void updateBalance(List<BillVo> billVos);

//    Double getPrice(MonthBillVo monthBillVo);

    void insertMonthBill(MonthBillVo monthBillVo);

    /**
     * 查询该月的月账单是否存在
     * @param monthBillVo
     * @return
     */
    MonthBillVo getMonthBill(MonthBillVo monthBillVo);

    void updateMonthBill(MonthBillVo monthBillVo);

    /**
     * 插入单条账单数据
     * @param bill
     */
    void addBill(BillVo bill);


    /**
     * 查询账单数据  并且进行分页
     * @param vo
     * @return
     */
    List<BillVo> getBillsByCondition(BillQueryModel vo);

    /**
     * 根据id和UID删除账单数据
     * @param id
     * @param uid
     */
    void delBill(Long id, Long uid);

    /**
     * 获取当月支出和收入
     * @param vo
     * @return
     */
    Double getPrice(BillQueryModel vo);
}
